import request from '@/api/request/index'
import type {
  ProductExcelImportDto,
  MoBanWenJianDeurlJieGuo,
  PageDataCaiGouQingKuang,
  PageDataChanPinLieBiao,
  ShangChuanExcelFanHuiJieGuo,
  ChanPinJiaGeTuPianWenJianXiuGai
} from './_interfaces.ts'

/** 批量发布保存 */
export function productManageSupBatchSaveProduct(data: ProductExcelImportDto[]): Promise<any> {
  return request.post('/api/productManageSup/batchSaveProduct', data)
}

/** 导入模板下载 */
export function productManageSupDownloadImportTemplate(data: {
  fileTemplateCode?: string
}): Promise<MoBanWenJianDeurlJieGuo> {
  return request.get('/api/productManageSup/downloadImportTemplate', data)
}

/** 查询采购情况列表-供应商 */
export function productManageSupQueryProductPurchaseRecordSup(data: {
  // 页码
  page?: number
  // 页大小
  pageSize?: number
  // 查询条件(合并搜索框)
  searchText?: string
}): Promise<PageDataCaiGouQingKuang> {
  return request.get('/api/productManageSup/queryProductPurchaseRecordSup', data)
}

/** 查询产品列表-供应商 */
export function productManageSupQueryProductSup(data: {
  // 页码
  page?: number
  // 页大小
  pageSize?: number
  // 产品状态(后端定义枚举)
  productState?: string
  // 查询条件(合并搜索框)
  searchText?: string
}): Promise<PageDataChanPinLieBiao> {
  return request.get('/api/productManageSup/queryProductSup', data)
}

/** 查询产品列表数量-供应商 */
export function productManageSupQueryProductSupCount(data: {
  // 页码
  page?: number
  // 页大小
  pageSize?: number
  // 产品状态(后端定义枚举)
  productState?: string
  // 查询条件(合并搜索框)
  searchText?: string
}): Promise<any> {
  return request.get('/api/productManageSup/queryProductSupCount', data)
}

/** 批量发布读取 */
export function productManageSupReadProductFile(data?: any): Promise<ShangChuanExcelFanHuiJieGuo> {
  return request.post('/api/productManageSup/readProductFile', data)
}

/** 发布产品 */
export function productManageSupSaveProduct(data: {
  // 中央商品库的价格ID
  centerEntityId?: string
  // 删除图片id(编辑操作)
  deleteImgIds?: string
  // 文件
  files?: File[]
  // 主键id(编辑时传)
  id?: string
  // 起订量
  minOrder?: number
  // 产品名称
  name?: string
  // 备注信息
  notes?: string
  // oem编码(多个用逗号分隔)
  oemCodeStr?: string
  // 主键id
  priceId?: string
  // 产品价格
  productPrice?: number
  // 产品质量
  productQuality?: string
  // 供应商SKU(前端填写)
  supplierSkuId?: string
  // 产品重量
  weight?: number
}): Promise<number> {
  return request.post('/api/productManageSup/saveProduct', data)
}

/** 编辑产品 */
export function productManageSupUpdateProduct(data: {
  // 中央商品库的价格ID
  centerEntityId?: string
  // 删除图片id(编辑操作)
  deleteImgIds?: string
  // 文件
  files?: File[]
  // 主键id(编辑时传)
  id?: string
  // 起订量
  minOrder?: number
  // 产品名称
  name?: string
  // 备注信息
  notes?: string
  // oem编码(多个用逗号分隔)
  oemCodeStr?: string
  // 主键id
  priceId?: string
  // 产品价格
  productPrice?: number
  // 产品质量
  productQuality?: string
  // 供应商SKU(前端填写)
  supplierSkuId?: string
  // 产品重量
  weight?: number
}): Promise<any> {
  return request.post('/api/productManageSup/updateProduct', data)
}

/** 编辑列表价格 */
export function productManageSupUpdateProductListPrice(data: {
  // 产品主键id
  id?: string
  // 价格主键id
  priceId?: string
  // 产品价格
  productPrice?: number
}): Promise<any> {
  return request.post('/api/productManageSup/updateProductListPrice', data)
}

/** 编辑产品价格 */
export function productManageSupUpdateProductPrice(data: ChanPinJiaGeTuPianWenJianXiuGai): Promise<any> {
  return request.post('/api/productManageSup/updateProductPrice', data)
}

/** 上传产品图片 */
export function productManageSupUploadProductFile(data?: any): Promise<any> {
  return request.post('/api/productManageSup/uploadProductFile', data)
}
